home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / gmice.com / GMOUSCUR.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-06-12  |  3.1 KB  |  104 lines

  1. /* $Header:   C:/SRC/MOUSE/PVCS/GMOUSCUR.H_V   1.1   12 Jun 1989 21:38:48  $
  2.     Dwight N. Tovey  (Adapted from the July/August 1988 issue of TURBO TECHNIX.
  3.  
  4.     Include file defining several graphics mouse cursor patterns.  All are
  5.     statics.
  6.     This file also contains an even handler called by the mouse device driver,
  7.     and a global event record variable 'theEvents'
  8. ----------------------------------------------------------------------------
  9. $Log:   C:/SRC/MOUSE/PVCS/GMOUSCUR.H_V  $
  10.    
  11.       Rev 1.1   12 Jun 1989 21:38:48
  12.    Moved initialization routine out of definition file into main
  13.    program.
  14.    
  15.    
  16.       Rev 1.0   21 May 1989  6:58:38
  17.    Initial revision.
  18. */
  19. #ifndef    GMOUSCUR_H
  20. #define    GMOUSCUR_H
  21.  
  22. #ifndef  NULL
  23. #define  NULL  0
  24. #endif
  25.  
  26. typedef struct {                              /* mouse event record */
  27.     unsigned flag, button, col, row;
  28.     }EVENTREC;
  29.  
  30. typedef struct {                            /* graphics cursor descriptor */
  31.     unsigned *image;
  32.     unsigned hotX, hotY;
  33.     }GCURSREC;
  34.  
  35. /* check mark image */
  36. static unsigned checkIm [32] = {
  37.     0xFFF0, 0xFFE0, 0xFFC0, 0xFF81,            /* screen mask */
  38.     0xFF03, 0x0607, 0x000F, 0x001F,
  39.     0xC03F, 0xF07F, 0xFFFF, 0xFFFF,
  40.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  41.     0x0000, 0x0006, 0x000C, 0x0018,            /* cursor mask */
  42.     0x0030, 0x0060, 0x70C0, 0x1D80,
  43.     0x0700, 0x0000, 0x0000, 0x0000,
  44.     0x0000, 0x0000, 0x0000, 0x0000 };
  45.  
  46. /* left arrow image */
  47. static unsigned LArrIm [32] = {
  48.     0xFE1F, 0xF01F, 0x0000, 0x0000,            /* screen mask */
  49.     0x0000, 0xF01F, 0xFE1F, 0xFFFF,
  50.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  51.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  52.     0x0000, 0x00C0, 0x07C0, 0x7FFE,            /* cursor mask */
  53.     0x07C0, 0x00C0, 0x0000, 0x0000,
  54.     0x0000, 0x0000, 0x0000, 0x0000,
  55.     0x0000, 0x0000, 0x0000, 0x0000 };
  56.  
  57. /* cross image */
  58. static unsigned crossIm [32] = {
  59.     0xFC3F, 0xFC3F, 0xFC3F, 0x0000,            /* screen mask */
  60.     0x0000, 0x0000, 0xFC3F, 0xFC3F,
  61.     0xFC3F, 0xFFFF, 0xFFFF, 0xFFFF,
  62.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  63.     0x0000, 0x0180, 0x0180, 0x0180,            /* cursor mask */
  64.     0x7FFE, 0x0180, 0x0180, 0x0180,
  65.     0x0000, 0x0000, 0x0000, 0x0000,
  66.     0x0000, 0x0000, 0x0000, 0x0000 };
  67.  
  68. /* pointing hand image */
  69. static unsigned handIm [32] = {
  70.     0xE1FF, 0xE1FF, 0xE1FF, 0xE1FF,         /* screen mask */
  71.     0xE1FF, 0xE000, 0xE000, 0xE000,
  72.     0x0000, 0x0000, 0x0000, 0x0000,
  73.     0x0000, 0x0000, 0x0000, 0x0000,
  74.     0x1E00, 0x1200, 0x1200, 0x1200,            /* cursor mask */
  75.     0x1200, 0x13FF, 0x1249, 0x1249,
  76.     0x1249, 0x9001, 0x9001, 0x9001,
  77.     0x8001, 0x8001, 0x8001, 0xFFFF };
  78.  
  79. /* I-beam image */
  80. static unsigned iBeamIm [32] = {
  81.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,            /* screen mask */
  82.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  83.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  84.     0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  85.     0xF00F, 0x0C30, 0x0240, 0x0240,
  86.     0x0180, 0x0180, 0x0180, 0x0180,
  87.     0x0180, 0x0180, 0x0180, 0x0180,
  88.     0x0240, 0x0240, 0x0C30, 0xF00F };
  89.  
  90.  
  91. /* Graphics cursor descriptors */
  92. static GCURSREC check = { NULL, 6, 7 };
  93. static GCURSREC arrow = { NULL, 0, 3 };
  94. static GCURSREC cross = { NULL, 7, 4 };
  95. static GCURSREC hand  = { NULL, 5, 0 };
  96. static GCURSREC iBeam = { NULL, 7, 7 };
  97.  
  98.  
  99. /*---------------------------------------------------------------*/
  100.  
  101.  
  102. #endif    /* GMOUSCUR_H */
  103.  
  104.